home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1994 / MacHack 1994.toast / MacHack™ 1987-1994 / MacHack™ '90 / Source Code ƒ.sea / Source Code ƒ / MPW C ƒ / NetTimeProtocol ƒ / ntptime.c / ntptime.c
Encoding:
Text File  |  1990-03-23  |  13.8 KB  |  52 lines  |  [TEXT/MPS ]

  1. +Ù?<©T∂?<©U?<©UP?<©U‹?<©V?<©VD?<©VP?<©Vz?<©VÜ?<©V§?<©VË?<©V˙?<©W?<©W0?<©WB?<©WT?<©Wp?<©Wt?<©W∫?<©W‹?<©X?<©X:?<©Xt?<©X¬?<©$?<©?<©*?<©¬?<©0?<©æ?<©˛?<©0?<©F?<©Z?<©à?<©î?<©r?<©⁄?<©?<©,?<©j?<©iÇNV˛v/ GÓˇUèp?Hn˛vN∫XÙp-@˛í-K˛ò=n˛Ñ˛ú-@˛∂=|˛¢Tè`( Æcdev˛¶f Æmtcp˛™f
  2. Uè/ ©ó0`Rn˛¢p-@˛∂UèHn˛ÜpN∫W¯J_gΔpˇ&n˛rN^NuâOpenOurRFNVHÁ&nJ≠Ô&gp`nN∫ˇb<Yè/<dnrpp?©ù+_Ô*fUè©Ø0`L/-Ô*©íHΔpˇ∞Üg?©ö/-Ô*N∫U∫ mÔ*+PÔ&/ p/ mÔ&Nê>Pèg/-Ô*N∫U¢/-Ô*N∫UÜp+@Ô&0LÓ¿ˇÙN^NuåOpenResolverNVJ≠Ô&fp‰`"p/ mÔ&Nê/-Ô*N∫UX/-Ô*N∫U<p+@Ô&pN^NuçCloseResolverNVHÁ(n &nJ≠Ô&fp‰`/././ / p/ mÔ&NêLÓˇ¯N^NuâStrToAddrNV/ &n J≠Ô&fp‰`/ /.p/ mÔ&Nêp&nˇ¸N^NuâAddrToStrNVHÁ(n.. &Lv`BSá÷¸∂ámÙLÓàˇN^NuÖbzeroNV/ GÌÚ|/ /.N∫ˇÄJ@PègAÌÔ. `  &nˇ¸N^Nuâinet_ntoaNVˇÃ/..J≠Ú˛gNp4/HnˇÃN∫ˇzp-@ˇÿ=mÚ‡ˇ‰=|ˇÊ-mÚ˛ˇË-@ˇ˙UèHnˇÃrN∫TtJ_Pèg/HmÔ>Hm˛N∫=ΔOÔ N∫˛pJág/HmÔnHm˛N∫=¨OÔ /N∫∫Xè..ˇ»N^Nuäclean_exitNVHÁ&n>.gH«// HmÔ~Hm˛N∫=fpˇ/N∫ˇ@OÔLÓġ¯N^NuâFailOSErrNVˇ/Yè©u.`Uèp?Hnˇ©qN∫ŒTèYè©u r<–Å∞üb‡..ˇÏN^NuêwaitforonesecondNVˇÃHÁ..p/N∫VËJáoSá n XÆ  P`~AÌÔé+HÛ`ú?g~4g
  3. SgUgj`np+@Ú¯`jJ+f"p∞áfN∫:SáXÆ  n /N∫H»+@ÚÙXè`B÷¸p0∞np9∞lN∫`,/ N∫H§+@ÚÙXè÷¸p0∞np9∞l÷¸ˇˇ`
  4. R≠Ú`N∫‡÷¸JfˇnSáXÆ Jág  n &Pp-∞g‡JágN∫∏J≠ÚgHmÔñHmÔ¶Hm˛N∫;˛Hm˛N∫3ÙOÔp/N∫˚˛H¿Xè/HmÔÆN∫˛THmÚ‡HmÔºN∫O‘H¿Pè/HmÔ¬N∫˛:HxN∫J\&@  OÔfHmÔ‘Hm˛N∫;§pˇ/N∫˝~OÔ p4/HnˇÃN∫˝p-@ˇÿ=mÚ‡ˇ‰=|ˇÊ-KˇÏ-|ˇ-@ˇÙBnˇ¯-@ˇ˙UèHnˇÃrN∫QÓ0H¿/HmÔ‚N∫˝æ+nˇËÚ˛;nˇ¯Ú¸J≠Ú¯OÔg
  5. p{/N∫
  6. Xèp{/N∫
  7. ÷+@Ú‚Yè©u,Xè`((mÚ‚`R¨p∞¨b/ N∫pXèN∫ö(T  f‚N∫˝¶Yè©u"-ÚÙ ¬¸<H@¿¸<H@B@“Ä“Ü≤üb∏J≠Ú¯g/-ÛHmÔÚHm˛N∫:≤p /N∫¸åOÔp/N∫¸ÄXèLÓ¿ˇºN^NuÑmainNVˇàHÁIÓˇÙ&np?N∫Uêp0/HnˇàN∫˚‹|ˇàB.ˇâB.ˇäp-@ˇ§-@ˇ†-@ˇ¨-@ˇ®/Hnˇ∏N∫¬rˇ≤ÄOÔf/-ÛN∫LÆXè`∏Hnˇ∏Hnˇ∞N∫Tp4/Hnˇ¿N∫˚Çp-@ˇÃ=mÚ‡ˇÿ=|ˇ⁄-mÚ˛ˇ‹-kˇ‚=k ˇÊ-@ˇ8º0AÓˇà)HBl-LˇËUèHnˇ¿rN∫P\>H« ᡡ¶OÔf"H«//+N∫˚PXè/Hm$Hm˛N∫9ñOÔ`JGgH«/HmHHm˛N∫9|OÔ p'@R´ÊLÓġ|N^NuántpsendNV˛–HÁIÓˇåp?N∫Tdp4/HnˇÃN∫˙∞p-@ˇÿ=mÚ‡ˇ‰=|ˇÊ-mÚ˛ˇË=|ˇÏBnˇ˙-@ˇ¸UèHnˇÃrN∫O†:H≈ Öˇˇ¶PèfHmbHm˛N∫8ÏPè`òJEgHm|Hm˛N∫8÷Pè`Çp0.ˇ¯,p0∞Üo `p0//.ˇÙHn˛‰N∫IÇ=|ˇÊUèHnˇÃpN∫O4J_OÔ gHmíHm˛N∫8ÜPèp0∞Ügp0//HmÆHm˛N∫8lOÔp/HnˇN∫ ‚rˇ≤ÄPèf/-ÛN∫J–Xè`¯J.˛Âgp∞.˛ÂeÊ0<¿¿.˛‰r Å¿g–&mÚ‚`  +∞ÆˇÓg&S  f  g¥0.ˇÚ∞k f®R´ÍHnˇHk÷N∫"JÆ˛¸PèfJÆˇgàJÆˇfJÆˇgzHn˛¸N∫
  8. å=@˛⁄-A˛‹-H˛‡Hn˛⁄Hnˇ?<©ÎHnˇN∫
  9. j=@˛⁄-A˛‹-H˛‡Hn˛⁄Hnˇ$?<©ÎHnˇ N∫
  10. H=@˛⁄-A˛‹-H˛‡Hn˛⁄Hnˇ,?<©ÎHk÷N∫
  11. &=@˛⁄-A˛‹-H˛‡Hn˛⁄Hnˇ4?<©ÎHnˇ$Hn˛⁄?<©ÎHnˇHn˛⁄?<©ÎHnˇ,Hn˛–?<©ÎHnˇ4Hn˛–?<©ÎHn˛–Hn˛⁄Bg©ÎHz»Hn˛⁄?<©ÎHn˛⁄Hnˇ<?<©ÎHnˇ$Hn˛⁄?<©ÎHnˇHn˛⁄?<©ÎHnˇ,Hn˛–?<©ÎHnˇ4Hn˛–?<©ÎHn˛–Hn˛⁄?<©ÎHn˛⁄HnˇD?<©Î0+<Rk<H¿rN∫‘.Hnˇ<Hn˛⁄?<©Î ÁÄHn˛⁄Hs>?<©ÎHnˇDHn˛⁄?<©Î ÁÄHn˛⁄Hs~?<©Î~vOÔ ÁÄHs~Hn˛⁄?<©Î Á@Hn˛⁄Ht?<©Î ÁÄHs>Hn˛⁄?<©Î Á@Hn˛⁄AÓˇLHp?<©ÎRá∂ánÆp/HnˇL/ N∫"=@˛⁄-A˛‹-H˛‡Hn˛⁄HkŒ?<©Î/ Hn˛⁄?<©ÎHn˛⁄Hkæ?<©ÎHnˇLHn˛⁄?<©ÎHn˛⁄HkΔ?<©ÎHkŒHn˛⁄?<©ÎHz6Hn˛⁄?<
  12. ©ÎOÔ b/ N∫`Xè/ N∫˙ XèLÓ˲∏N^NuÜpacket?˛Ä@ÄNVˇ‘HÁ(n|~&mÚ‚`“πÀg J´Íg¬RÜHlΔHnˇˆ?<©ÎHkΔHnˇˆ?<©ÎAÓ/ / ? N≠=@ˇÏ-AˇÓ-HˇÚp-@ˇfiHnˇfiHnˇ‚?<(©ÎHnˇ‚AÓˇ‘C˙¶ Ÿ Ÿ0ŸHnˇ‘?<©ÎHnˇ‘HnˇÏ?<
  13. ©ÎOÔ
  14. eDHlΔHnˇˆ?<©ÎHkΔHnˇˆ?<©ÎAÓ/ / ? /+N∫ˆXè/Hm–Hm˛N∫4HRáOÔ&S  fˇ,JÜgJáfp`"“Å Ââ“Ä "N∫TLÓ¿ˇƒN^Nuâsanitychk
  15. @˙NVˇƒHÁ(nJ≠Úgl&mÚ‚`bHkΔHnˇÊ?<©ÎAÓˇ/ / ? HkŒHnˇ‹?<©ÎAÓˇÊ/ / ? /+Í/+ÊπÀfp*`p //+N∫ıBXè/HmÙHm˛N∫3àOÔ,&S  föHlΔHnˇÊ?<©ÎHnˇÊHnˇ?<©ÎJ≠Ú¯fŒHnˇHnˇÊ?<©ÎAÓˇ/ / ? N≠=@ˇ‹-Aˇfi-Hˇ‚OÔ
  16. AÓˇÊ/ / ? HmÒHm˛N∫3HnˇHnˇÊ?<©ÎHz¥HnˇÊ?<
  17. ©ÎdAÌÒ4 `AÌÒ: /HnˇHnˇ‹?<©ÎAÓˇÊ/ / ? N≠=@ˇ“-Aˇ‘-HˇÿHzbHnˇ“?<©ÎOÔ
  18. AÓˇ‹/ / ? HmÒ@Hm˛N∫2öp/N∫ÙtOÔ,/ N∫˝b.p∞áXèlXHnˇHnˇÊ?<©ÎAÓˇ/ / ? N≠=@ˇ‹-Aˇfi-Hˇ‚HzÏHnˇ‹?<
  19. ©ÎOÔ
  20. o/-ÛHmÒTHm˛N∫22p /N∫Ù OÔp/Hnˇ¯N∫†rˇ≤ÄPèf/-ÛN∫Dép /N∫Û‰PèHnˇHnˇÊ?<©ÎHnˇ‹/.ˇ¯N∫ûHnˇ‹HnˇÊBg©ÎHnˇÊHnˇ?<©ÎHnˇHnˇÊ?<©ÎHnˇ‹/.ˇ¸N∫jHz>Hnˇ‹?<©ÎHnˇ‹HnˇÊBg©ÎHnˇÊHnˇ?<©ÎHnˇHnˇÊ?<©ÎAÓˇÊCÓˇ‹"ÿ"ÿ2ÿHnˇ‹?<©ÎHnˇ‹N∫
  21. ∂-@ˇ¯HnˇHnˇÊ?<©ÎHnˇ‹/.ˇ¯N∫
  22. ˆHnˇ‹HnˇÊ?<©Î <B@-@ˇŒHnˇŒHnˇ“?<(©ÎHnˇ“HnˇÊ?<©ÎAÓˇÊCÓˇƒ"ÿ"ÿ2ÿHnˇƒ?<©ÎHnˇƒN∫
  23. D-@ˇ¸p/Hnˇ¯N∫rˇ≤ÄOÔ(f/-ÛHmÒzHm˛N∫0¿OÔ Hm˛Hnˇ¯N∫¥Xè/N∫-rJáPègHmÒíHm˛N∫0ñPè /N∫ÚnXèLÓġ∏N^Nuäsetthetime(@Ù$@˙@NVˆ‰HÁ:.
  24. p-@ˇ¸(@HmÒ™HmÚÊN∫+R-@ˆ‰Pèf≤HmÚÊN∫Búp /N∫ÒÚPè`úHn˙ËHmÒ¨HnˆËN∫/@r≤ÄOÔ fÄHmÒ∞Hn˙ËN∫BËJÄPèf$Hn˙ËHmÒ∂HnˆËN∫/r≤ÄOÔ g/-ÛHmÒæHm˛N∫/∞p /N∫ÒäOÔp//Hn˛ËHn˙ËN∫àJ@OÔgHn˙ËHmÒ“Hm˛N∫/zp /N∫ÒTOÔ,.ˇÏ&L`º´g&S  fÙ  fÊHxÓN∫=Ó&@  Xèf/-ÛN∫A¿p /N∫ÒPè'F7E p'@Hz
  25. HkŒ?<©ÎHzÚHkΔ?<©ÎHz‰Hkæ?<©ÎBk<~v ÁÄHz Hs>?<©Î ÁÄHzÆHs~?<©ÎRá∂án÷p'@Ê'@Í&å(K`HHmÒ‰Hn˙ËN∫A≤JÄPèf6Hnˇ¸HmÒHnˆËN∫-‹r≤ÄOÔ g/-ÛHmÒ¯Hm˛N∫.|p /N∫VOÔ/.ˆ‰HxHnˆËN∫"æJÄOÔ f˛N/.ˇ¸N∫¿/.ˆ‰N∫%∂  PèLÓˈÃN^Nuàconfinit@Ä@ÉnóçOfl;NV˜Ã/ GÓ¯p4/Hn˜ÃN∫Ônp-@˜ÿ=mÚ‡˜‰=|˜Ê-K˜Ï-|˜-@˜Ù=n
  26. ˜¯-@˜˙UèHn˜ÃrN∫DXJ_Pèf8p-@˜ÿ=mÚ‡˜‰=|˜Ê-@˜˙UèHn˜ÃrN∫D.J_gHmÚHm˛N∫-ÑPè`HmÚ@Hm˛N∫-tPè&n˜»N^NuâchkserverNV/-ÛHmÚ\Hm˛N∫-Jp
  27. /N∫Ô$N^NuÖusageNVˇ¿HÁ&n.+ <Ä¿ág2 <Ä"±ÅHnˇÓ/N∫    ¿HzvHnˇÊ?<©ÎHnˇÊHnˇÓ?<©Î`4Hnˇ‹/N∫    òHnˇ‹Hnˇ‘?<©ÎHnˇ‘Hnˇ ?<©ÎAÓˇÓCÓˇ  Ÿ Ÿ0ŸHnˇÓHnˇ¯?<©ÎHnˇ¯HnˇÓ?<©ÎHzHnˇÊ?<©ÎHnˇÊHnˇ‹?<©ÎHnˇ‹HnˇÓ?<©ÎHnˇÓHnˇ¯?<©Î.Hnˇ¯HnˇÓ?<©Î <Ä¿ág2 <Ä"±ÅHnˇ‹/N∫ÏHz¢HnˇÊ?<©ÎHnˇÊHnˇ‹?<©Î`4Hnˇ /N∫ƒHnˇ Hnˇ‘?<©ÎHnˇ‘Hnˇ¿?<©ÎAÓˇ‹CÓˇ¿ Ÿ Ÿ0ŸHnˇ‹HnˇÓBg©ÎHnˇÓHnˇ¯?<©ÎHnˇ¯HnˇÓ?<©ÎAÓˇÓ0" PLÓġ∏N^Nuíul_fixed_to_double@Ä@ÄNVˇ¸HÁ(nHnˇ¸N∫?Hnˇ¸N∫9H&@´B/ N∫<ò-@ˇ¸ -Û>ëÆˇ¸(Æˇ¸p)@LÓˇÙN^NuågettimeofdayNVˇ¸HÁ(n-Tˇ¸Hnˇ¸N∫8&@´B/ N∫<@-@ˇ¸ -Û>—Æˇ¸ .ˇ¸LÓˇÙN^NuçunixtomacsecsNVHÁ&n/ N∫ˇû.Uè/N∫@˛J_XègpˇLÓġ¯N^NuåsettimeofdayNVˇÙHÁ,.g" ¬¸<H@¿¸<H@B@“Ä+AÛ>`NHnˇÙ _ < ‰†Q.<ˇˇˇŒÆˇ¸p"‡°géºˇ+GÛ>J.ˇ¸g.ˇ¸HÄH¿/HmÛHm˛N∫*OÔ LÓ¿ˇÏN^NuésetminuteseastNVˇ¸/ &n/ N∫˛–-@ˇ¸Hnˇ¸N∫7 Xè/N∫5∂&nˇ¯N^NuàmacctimeNVˇ§HÁ(n &n –ºÉ™~Ä&Ä <Ä¿¨g4 <Ä",±ÅHnˇÓ/N∫BHz∏HnˇÊ?<©ÎHnˇÊHnˇÓ?<©Î`6Hnˇ‹/,N∫Hnˇ‹Hnˇ‘?<©ÎHnˇ‘Hnˇ ?<©ÎAÓˇÓCÓˇ  Ÿ Ÿ0ŸHzxHnˇÓ?<©ÎHnˇÓHnˇ¯?<©ÎHnˇ¯HnˇÓ?<©ÎHzDHnˇÊ?<©ÎHnˇÊHnˇ‹?<©ÎHnˇ‹HnˇÓ?<©ÎHnˇÓHnˇ¯?<©ÎpHzHnˇÊ?<©ÎHnˇÊHnˇÓ?<©ÎHnˇ¯HnˇÓ?<
  28. ©Îb.Hnˇ¯Hnˇ‹?<©ÎHz–Hnˇ‘?<©ÎHnˇ‘Hnˇ‹?<
  29. ©ÎdpJÄgTHnˇ¯Hnˇ ?<©ÎHzîHnˇ¬?<©ÎHnˇ¬Hnˇ ?<©ÎAÓˇ CÓˇ∏"ÿ"ÿ2ÿHnˇ∏?<©ÎHnˇ∏N∫Ñ"<ÄÇÄ`0Hnˇ¯HnˇÆ?<©ÎAÓˇÆCÓˇ§"ÿ"ÿ2ÿHnˇ§?<©ÎHnˇ§N∫L"'A&ì'kLÓˇúN^NuÜtstamp@Ä@Ä@Ù$NVˇ»HÁ*.(n &n|`® ÁÄHsHnˇÊ?<©ÎAÓˇ/ / ? N≠=@ˇ‹-Aˇfi-Hˇ‚Hnˇ‹Hnˇ¯?<©Î.RáOÔ
  30. `ZHnˇ¯HnˇÊ?<©Î ÁÄHsHnˇ‹?<©ÎAÓˇÊ/ / ? N≠=@ˇ“-Aˇ‘-HˇÿHnˇ“HnˇÊ?<
  31. ©ÎOÔ
  32. o ÁÄHsHnˇÊ?<©ÎHnˇÊHnˇ?<©Î ÁÄHsHnˇÊ?<©Î ÁÄHnˇÊHs?<©ÎHnˇHnˇÊ?<©Î ÁÄHnˇÊHs?<©Î ÁÄHsHnˇÊ?<©ÎAÓˇ/ / ? N≠=@ˇ‹-Aˇfi-Hˇ‚Hnˇ‹Hnˇ¯?<©Î ÁÄHtHnˇÊ?<©ÎHnˇÊHnˇ?<©Î ÁÄHtHnˇÊ?<©Î ÁÄHnˇÊHt?<©ÎHnˇHnˇÊ?<©Î ÁÄHnˇÊHt?<©ÎOÔ
  33. Rá∫án˛§RÜ SÄ∞Ün˛RHz‰Hnˇ¯?<©Î,SÜ`Z ÁÄHsHnˇÊ?<©ÎAÓˇ/ / ? N≠=@ˇ‹-Aˇfi-Hˇ‚Hz¨Hnˇ‹?<
  34. ©ÎOÔ
  35. mAÓˇ“C˙Ä Ÿ Ÿ0Ÿ`, ÁÄHtHnˇ»?<©Î/ Hnˇ»?<©ÎAÓˇ“CÓˇ» Ÿ Ÿ0ŸHnˇ“Hnˇ?<©ÎHnˇHnˇÊ?<©ÎHz6HnˇÊ?<
  36. ©Îd"HnˇHnˇÊ?<©Î
  37. .ġÊHnˇÊHnˇ?<©ÎHnˇHnˇÊ?<©ÎHzÏHnˇÊ?<
  38. ©ÎoHz‹Hnˇ?<©ÎHnˇ¯HnˇÊ?<©ÎHz∂HnˇÊ?<©ÎHnˇÊHnˇ¯?<©ÎHnˇ¯HnˇÊ?<©ÎHnˇHnˇ‹?<©ÎHnˇ‹HnˇÊBg©ÎHnˇÊHnˇ¯?<©ÎSÜJÜn˛§Hnˇ¯HnˇÊ?<©ÎHzNHnˇÊ?<©ÎHnˇÊHnˇ¯?<©ÎHnˇ¯HnˇÊ?<©ÎAÓˇÊ0" PLÓˡ∞N^Nuéminimum_filter(@Ä@ÉnóçOfl;@Ä WBßHmÛJHmÛFHmÛB/N∫¸XèOÔHmıN∫†XOJÄf/-ÛJ/-ÛF/-ÛBN∫ʺOÔ /N∫¬Nurˇ`"<ˇˇ`"<ˇNVˇÚ-|OġÚCÓˇˆ n"ÿ"ÿ2êQIHQ?<©ÎHnˇÚHQ?< ©Î Q@f—HQHQ?<(©Î¬ë N^Nu/BØHo//?<0©Î.üNuBgLÔ¡àHÁ¿ÄHo ?<©Óp o0ÄNu//Ho //?< ©ÎNuNVˇÙ/.Hnˇˆ?<    ©ÎLÓˇÙN^NuNVHÁ3,.N∫ mÙ6 ÆpJ∏g,r¬∏f$ x êMPGMf xJ®g x hJPgp+@Ùg`AÌÙC¯    p ŸQ»ˇ¸0ŸAÌÙ"mÙ&"àJÜf  mÙ&/N∫7˛XèJÆ g n p ÄJÆg n ≠Ù&JÆg n ≠Ù*p+@Ù`0 x h0-Ù ∞Pg /<ÄN∫JXèAÌÙ "x"i#H$ x+hÙD x h+hÙ" x h+hÙ& x h+h
  39. Ù*JÜg,&mÙ&` /N∫7&Xè÷¸Jìf&mÙ*` /N∫7Xè÷¸JìfJÆ g n  ≠Ù"JÆg n ≠Ù&JÆg n ≠Ù* x hJ® g`Yèpx/N∫7,+_Ù@ x h(h ~v "¿¸HA¬¸HABA–Å mÙ@"$¬¸HBƒ¸HBBB“ÇACÙp ŸQ»ˇ¸Rá∂ánæp+@ÙLÓÃˇËN^Nuá_RTInitNV <ˇˇˇ¿Æ/N∫N^NuÑexitNV/  mÙ6GËå` Jìg SNê÷¸ˇ¸ mÙ6±ÀeÏJ≠ÙDg
  40.  mÙD!nJ≠ı*f
  41.  mÙ6 PNê`p/HmıN∫\Pè&nˇ¸N^Nuá_RTExitNV/ GÌ˝Ó` / N∫ƒXè÷¸∑Ì˝ÍeÓ&nˇ¸N^Nuâ__cleanupNVAÌ*"mÙ6#HN^Nuê__installCleanupNVN^Nuá_coExit /"//$ƒ¡ B$HBƒ¿H@¬¿‘AHBBB—¬ $Nu"/ /N∫ Nu"/ /N∫< Nu"/ /HÁ*jDÄ,jDÅN∫JÖjDĪÜjDÅLfl`Nu"/ /HÁ8$HBJBf6B@H@gÄ¡4HB0Ä¡4"B@H@`"$B@H@HBBB&rx‘Ç—Ä“Å∞ÉmêÉRQÃˇLflNu"_ WH–fi¸pN— /fp oL–fi¸N—NVHÁ,.J≠Ù2fÄ$+HÙ2 mÙ2Bh~`‚ÜRáp¿Ügˆp"·©/N∫˛
  42. XèLÓ¿ˇ¯N^Nuásig_dflHÁˇBGA˙9Ù"o¿*f*
  43. öÅ&EHÁ‡¿/ /aæLfl0>`öx"g·AÅ g·ÅtgÇg·BÇg·Ç|N∫bÖg·ÖCÛX$Ig,N∫F Agm€í`$€R` €` Å2e/ †. —¡”¡`ÿQ…ˇ¸g&
  44. ◊íQ»ˇfLflˇNuz`·çQŒˇ˙Nut _ "_g(2    Ag¬SÄfÚ`"‰âg"¬SÅf˙@`¬Q»ˇ¸N–NVˇ¯HÁ(npˇ-@ˇ¸Hnˇ¸N∫$&@  fpˇ`< . RÄ6ÄBkp'@/ Hxd/ Hnˇ¯N∫N.gBSpˇ`J´f'nˇ¯ .ˇ¸LÓġÏN^NuÑopenNVHÁJÆlp/r/N∫6pˇPè`@HnN∫§&@  Xèfpˇ`,/  k hNê.BSJáXèg0+H¿//N∫¯pˇPè`pLÓġ¯N^NuÖcloseNVHÁ(n ,.JÆlp/r/N∫ºpˇPè``HnN∫*&@  Xèfpˇ`Lp¿Sfp/r    /N∫êpˇPè`4'F 'L/  k h Nê.Xèg0+H¿//N∫bpˇPè` ê´ LÓ¿ˇN^NuÑreadNVHÁ(n ,.JÆlp/r/N∫"pˇPè``HnN∫ê&@  Xèfpˇ`Lp¿Sfp/r    /N∫ˆpˇPè`4'F 'L/  k hNê.Xèg0+H¿//N∫»pˇPè` ê´ LÓ¿ˇN^NuÖwriteNVˇ¸HÁ,. JÆlp/r/N∫åpˇPè`ÓHnN∫¯&@  Xèfpˇ`ÿ Äfk Än –Ä0;N˚:/.//  k hNê.OÔ fp`ö0+H¿//N∫"pˇPè`ÑJÆlp/r    /N∫pˇPè`jpˇêÆ-@ˇ¸Hnˇ¸N∫l(@  Xèfpˇ`LHnN∫X&@ L"Kp ŸQ»ˇ¸p/Hxf/  k hNê.OÔgBT0+H¿//N∫¢pˇPè` .ˇ¸LÓ¿ˇÏN^NuÖioctlNVˇ¸HÁ(nJmÙ:fN∫*0-Ù:H¿rN∫˙Ä.SáJîm `pˇêîæÄlp/r/N∫DpPè`fiJîm. mÙ< Âà"Âà–ÅGJSf¿p/r    /N∫p&@Pè`™ mÙ<pˇêîÂà"Âà–ÅG`JSg÷¸ mÙ< Âà"Âà–ÅA±Àd‚ mÙ< Âà"Âà–ÅA±ÀdN0-Ù:H¿–º»//-Ù<N∫fi-@ˇ¸Pèfp/r/N∫ñpPè`0 nˇ¸ Âà"Âà–ÅGm»Ù:+nˇ¸Ù< mÙ<  êàrN∫˘Ä(Ä  LÓġN^Nuä_getIOPortNV/ ;|»Ù:Hx»p/N∫d+@Ù<J≠ÙDPègJ mÙD/(/-Ù<p</N∫/& mÙ<G–` JSgp/Hxf/  k hNêOÔ ÷¸ mÙ<AË(±Àd‘`(p/HmıBN∫˚p/HmıNN∫˚p/HmıZN∫˙ˆOÔAÌB"mÙ6#HJ≠Ù2fÄ$+HÙ2&nˇ¸N^Nuç_initIOPtableNVHÁ0-Ù:H¿rN∫¯à,SÜ~`
  45. /N∫˚XèRáºálÚJ≠ÙgN∫¯&LÓ¿ˇ¯N^Nuã_coreIOExitNV/~0.
  46. @ˇàg@ gƒ@/gS@gÜS@g®S@géS@g¨S@g¢S@gƒS@g™S@g¥U@g¶S@gîS@gäS@gPS@gXS@gúS@gRS@göS@gLS@g|U@gpS@g0S@g@S@gS@g@S@gLS@gS@g@!gp`n~`j~`f~`b~`^~`Z~`V~`R~`N~`J~    `F~`B~`>~ `:~`6~`2~`.~`*~`&~
  47. `"~`~    `~`~`~`~`
  48. ~
  49. `~`~ ..ˇ¸N^Nuâ_mapOSerrNV/>.;Gıff .`H«/N∫˛≤+@ıh..ˇ¸N^Nuá_uerrorNVˇ¸HÁ,. ~JÆg Yè/.N∫,|.æÜo/./N∫,Ä .`NYè/N∫,H-_ˇ¸Uè>∏ J_gp`4JÆg/./.ˇ¸/N∫,Ç/.N∫,&&G◊Óˇ¸(FŸÓˇ¸`BπÀb˙ .ˇ¸LÓ¿ˇÏN^Nuè__growFileTableNVHÁ,.(n J≠Ù@fAÌıl+HÙ@ mÙ@G–`
  50. J´g÷¸ mÙ@AËx±ÀbÍ.<@`/.//  kNê.OÔ l ÷¸ˇË mÙ@±ÀcfiJÆg mÙ@±Àb n ã <@¿áf `:l~`áøˇˇˇBEH≈//N∫˛épˇPèLÓ‡ˇÏN^Nuà_faccessNVˇ¸HÁ(n *.J≠Ù2fÄ$+HÙ2~,`p∞án p+@ıhpˇ`êRá‚Üp¿Üg‰ Â@AÌı‰G mÙ2p0("¬Äfp-@ˇ¸`-Sˇ¸π¸fAÌ2&à`Hπ¸f mÙ2 FÄ¡h`2π¸f( mÙ2ãhp∞Öf mÙ2p0"¬ÄfÚ` /N∫ Xè`&å .ˇ¸LÓ‡ˇËN^NuÜsignalNVHÁ*.J≠Ù2fÄ$+HÙ2~,`p∞ánpˇ`BRá‚Üp¿ÜgÏ Â@AÌı‰G mÙ2p0("¬ÄgJìfpˇ`(Sp//N∫˛Δ/NîOÔ LÓ‡ˇÏN^NuÖraiseNVˇ|HÁ8,. &nIÓˇÜpP∞Ül|PR≠ˇ¶SìJìm kR´p`/ N∫⁄Xè.«SÜm$BBnˇ⁄HnˇÿHnˇ‹Hnˇ⁄HnˇÜN∫tOÔJnˇÿf¥Hnˇ‹N∫ö=@ˇ|-Aˇ~-HˇÇAÓˇ|CÓˇˆ"ÿ"ÿ2ÿ .ÄLXègFÄ g
  51. SÄg SÄg6`N nXê P hˇ¸Hnˇˆ/?<©Î`L nXê P hˇ¸Hnˇˆ/?<0©Î`2 nXê P hˇ¸CÓˇˆE–$Ÿ$Ÿ4Ÿ` nXê P hˇ¸Hnˇˆ/?<©ÎS≠ˇ¶/ /N∫Ärˇ≤ÄPèf np Ä0.ˇ⁄H¿LÓ¿ˇhN^NuàfpnumberNVˇ¯HÁ(n&np-@ˇ¯-@ˇ¸x". Ådg[Åg$]ÅgSÅg[ÅgWÅg
  52. ` |
  53. `|`
  54. |`p`R≠ˇ¶SìJìm kR´p`/ N∫^Xè.Ä+kB Än:–Ä0;N˚ 2RÆˇ¸SÆR≠ˇ¶SìJìm kR´p`/ N∫Xè.pi∞Æ g
  55. pp∞Æ fp0∞áf`R≠ˇ¶SìJìm kR´p`/ N∫⁄Xè.px∞ágpX∞áf,R≠ˇ¶SìJìm kR´p`/ N∫¨Xè.UÆ|`≤|`¨A̘‹Ràp¿0xgú|
  56. `ñA̘‹Ràp¿0xf p∞ÜfåA̘‹Rà0xHÄH¿"<ĬÄgrA̘‹Ràp¿0xgp0`A̘‹Ràp¿0xgp7`pW*öĺÖoDJÆg  "N∫Ò(ÿÖRÆˇ¯R≠ˇ¶SìJìm kR´p`/ N∫ÚXè.SÆJÆlˇbJÆgHJÆˇ¯gBJÆˇ¸g
  57. ÑÄgDÑpl∞Æf Xî T hˇ¸ Ñ`ph∞Æf Xî T hˇ¸0Ñ`
  58. Xî T hˇ¸ ÑS≠ˇ¶/ /N∫rˇ≤ÄPèfp(Ä .ˇ¯LÓˇ‡N^NuÜnumberNVˇ¸HÁ(.*.&n,. JÖg nXê P hˇ¸`0|(H-Lˇ¸pc∞Üf Ñˇˇˇfx`JÖgáÿ¸SÑoRR≠ˇ¶SìJìm kR´p`/ N∫ÚXè.pˇ∞ág*ps∞ÜgpP∞ÜfA̘‹Ràp¿0xfp[∞Üf™ nJ0xg†pˇ∞ágJÑoS≠ˇ¶/ /N∫0rˇ≤ÄPèf np ÄπÓˇ¸fp`"JÖgpc∞ÜgBJÖgpP∞Üf
  59. /.ˇ¸N∫$»XèpLÓˇ‰N^NuÜstringNVHÁ(n &nxp^∞fRÑ÷¸HxpJÑW¿D// N∫ $p.p]∞áOÔ gp-∞áfNÑx÷¸`DJáfp`Jp-∞áf2p,p]∞Üg&p+ˇ˛*ºÖo êÖ//HtXN∫Œ÷¸OÔ `Ñxp.p]∞áf∞  LÓˇËN^NuÖsetupNVHÁ(n &nXî T hˇ¸ ≠ˇ¶p&ÄpLÓˇ¯N^NuácounterNV˛¯HÁ(n &np-@ˇ¯+@ˇ¶p.f .ˇ¯`zA̘‹Ràp¿0xgLA̘‹RàR≠ˇ¶SìJìm"kR´p` // N∫Xè _*p¿0XfÃS≠ˇ¶/ /N∫
  60. |rˇ≤ÄPèfö`p%∞áf p.p%∞áfFR≠ˇ¶SìJìm kR´p`/ N∫∏Xè*æÖgˇ^S≠ˇ¶/ /N∫
  61. *rˇ≤ÄPèg¬ .ˇ¯`»p*∞áfp-@ˇ¸r.`p-@ˇ¸|`"“Å Ââ“Ä“á,p0úÄp.A̘‹Ràp¿0xf⁄JÜf,<ˇˇˇ(pl∞Ñgpm∞Ñg pL∞Ñgph∞Ñfp.Jágp[∞áfHn˛¯/ N∫˝∏(@  Pèfpˇ`8A̘‹Ràp¿0xg
  62. pP∞ágp‡ûÄpc∞ágPp[∞ágJA̘‹RàR≠ˇ¶SìJìm"kR´p` // N∫∂Xè _*p¿0XfÃS≠ˇ¶/ /N∫ $rˇ≤ÄPègºprc≤ágrs≤ágr[≤ágrP≤ágpJÄgHn/ Hn˛¯///.ˇ¸N∫˚˙OÔ``pn∞áfHnHnˇ¸N∫˝§Pè`Jpre≤ágrf≤ágrg≤ágpJÄgHn/ ///.ˇ¸N∫¯OÔ`Hn/ ////.ˇ¸N∫˘0OÔ(g .ˇ¸—Æˇ¯JÆg JÑf˝é .ˇ¯`JÆˇ¯g .ˇ¯`pˇLÓ˛‡N^Nuá_doscanNVˇ¯HÁ(n,. &n-Lˇ¸SÜ`|Jìn/ N∫êrˇ≤ÄXèf
  63. πÓˇ¸fhp`jS´Rìºìl ` ./p
  64. //+/ N∫⁄-@ˇ¯OÔg..ˇ¯û埫üìfl´ + ê´Jìlr`"≤Äo/ N∫XèJÆˇ¯fúáJÜnÄB .ˇ¸LÓ»ˇ‰N^NuÖfgetsNVHÁ(n0<Å¿lfpˇ`–lp¿lgpˇ`ºJ¨f/ N∫ƒXè0<¿lg0G